package com.skiving.cloud.admin.entity;

import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.time.LocalDateTime;

import java.io.Serial;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 岗位表 实体类。
 *
 * @author skivingcloud
 * @since 2025-03-08
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("岗位表")
@Table("sys_station")
public class SysStation implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @Id
    @ApiModelProperty("主键")
    private String id;

    /**
     * 版本
     */
    @ApiModelProperty("版本")
    private Integer version;

    /**
     * 岗位编号
     */
    @ApiModelProperty("岗位编号")
    private String stationCode;

    /**
     * 岗位名称
     */
    @ApiModelProperty("岗位名称")
    private String stationName;

    /**
     * 简称
     */
    @ApiModelProperty("简称")
    private String shortName;

    /**
     * 机构id
     */
    @ApiModelProperty("机构id")
    private String orgId;

    /**
     * 状态1-正常,2-禁用,3-删除
     */
    @ApiModelProperty("状态1-正常,2-禁用,3-删除")
    private String status;

    /**
     * 排序
     */
    @ApiModelProperty("排序")
    private Integer orderNum;

    /**
     * 扩展分类例如:1-总经理、2-副总经理、3-分管领导、4-部门经理、5部门副经理、6-员工、9-其他
     */
    @ApiModelProperty("扩展分类例如:1-总经理、2-副总经理、3-分管领导、4-部门经理、5部门副经理、6-员工、9-其他")
    private String stationRank;

    /**
     * 创建人
     */
    @ApiModelProperty("创建人")
    private String creater;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    private LocalDateTime createTime;

    /**
     * 最后修改人
     */
    @ApiModelProperty("最后修改人")
    private String modUser;

    /**
     * 修改时间
     */
    @ApiModelProperty("修改时间")
    private LocalDateTime modTime;

    /**
     * 租户
     */
    @ApiModelProperty("租户")
    private String tenantId;

    /**
     * 资源权限
     */
    @Column(ignore = true)
    private String[] resId;
}
